package com.atom.module.lib.opengles.ext

/**
 * All rights Reserved, Designed By www.rongdasoft.com
 * @version V1.0
 * @Title: ReturnWrapper
 * @Description:
 * @author: wuyongzheng
 * @date: 2022/1/18
 * @Copyright: 2022/1/18 www.rongdasoft.com Inc. All rights reserved.
 */
sealed class ReturnWrapper {

    class Return1Wrapper<Value1>
        (val value1: Value1) : ReturnWrapper()

    class Return2Wrapper<Value1, Value2>
        (val value1: Value1, val value2: Value2) : ReturnWrapper()

    class Return3Wrapper<Value1, Value2, Value3>
        (val value1: Value1, val value2: Value2, val value3: Value3) : ReturnWrapper()

    class Return4Wrapper<Value1, Value2, Value3, Value4>
        (val value1: Value1, val value2: Value2, val value3: Value3, val value4: Value4) :
        ReturnWrapper()

    class Return5Wrapper<Value1, Value2, Value3, Value4, Value5>
        (
        val value1: Value1,
        val value2: Value2,
        val value3: Value3,
        val value4: Value4,
        val value5: Value5
    ) : ReturnWrapper()

    class Return6Wrapper<Value1, Value2, Value3, Value4, Value5, Value6>
        (
        val value1: Value1,
        val value2: Value2,
        val value3: Value3,
        val value4: Value4,
        val value5: Value5,
        val value6: Value6
    ) : ReturnWrapper()

    class Return7Wrapper<Value1, Value2, Value3, Value4, Value5, Value6, Value7>
        (
        val value1: Value1,
        val value2: Value2,
        val value3: Value3,
        val value4: Value4,
        val value5: Value5,
        val value6: Value6,
        val value7: Value7
    ) : ReturnWrapper()

    class Return8Wrapper<Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8>
        (
        val value1: Value1,
        val value2: Value2,
        val value3: Value3,
        val value4: Value4,
        val value5: Value5,
        val value6: Value6,
        val value7: Value7,
        val value8: Value8
    ) : ReturnWrapper()

    class Return9Wrapper<Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8, Value9>
        (
        val value1: Value1,
        val value2: Value2,
        val value3: Value3,
        val value4: Value4,
        val value5: Value5,
        val value6: Value6,
        val value7: Value7,
        val value8: Value8,
        val value9: Value9
    ) : ReturnWrapper()
}